/** 
 * \brief Online determination of owner's and group's UUIDs
 *
 * Copyright (c) 2010 by R. Douglas Barbieri
 * 
 * The source code in this file ("Source Code") is provided by R. Douglas Barbieri
 * to you under the terms of the GNU General Public License, version 2.0
 * ("GPL").  Terms of the GPL can be found in doc/GPL-license.txt in this distribution.
 * 
 * By copying, modifying or distributing this software, you acknowledge
 * that you have read and understood your obligations described above,
 * and agree to abide by those obligations.
 * 
 * ALL SOURCE CODE IN THIS DISTRIBUTION IS PROVIDED "AS IS." THE AUTHOR MAKES NO
 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
 * COMPLETENESS OR PERFORMANCE.
 */

#ifndef TESTER_H
#define TESTER_H

#include "LLChatLib.h"

class GridTab;

class Tester
{
public:
	Tester(GridTab *gridTab);
	int authenticate(
		const LLC::String &grid,
		const LLC::String &first,
		const LLC::String &last,
		const LLC::String &password,
		const LLC::String &location);
	void runTest();
	void stop();

private:
	GridTab *m_gridTab;
	bool online;
	int stop_attempt;

	void cacheSlot(LLC::String id, LLC::String full_name, bool is_group);
	void groupCacheSlot(LLC::String id, LLC::String group_name);
	void forcedQuitSlot(LLC::String message);
	void logoutReplySlot();
};


#endif

// vim: ts=4 sw=4 noexpandtab syntax=cpp.doxygen
